package com.mhc.suzuki.service;

import com.mhc.suzuki.vo.ModifyHisVO;

import java.util.List;

/**
 * Created by kanon on 2017/8/30.
 */
public interface ModifyService<T> {

    void addEntitySnapshot(T obj, Integer snapshotType, String bizRecId);

//    void addModifyRecord(Object oldObj, Object newObj, String bizRecId, Integer entityType, Long staffId,
//                         String fieldName, Integer oldMarriedCode, Integer newMarriedCode);

    /**
     * 创建修改记录
     * @param entityType 实体类型,订单0或者其他1,暂时就订单
     * @param bizRecId 实体的的业务 id, 如订单号
     * @param staffId 员工Id
     */
    void createModify(Integer entityType, String bizRecId, Long staffId);

    /**
     * 根据订单号,业务类型,审批结果查询订单审核历史
     *
     * @param bizRecId   订单号
     * @param entityType 实体类型
     * @return
     */
    List<ModifyHisVO> queryModifyRecordList(String bizRecId, Integer entityType);

    void recordLastTwoSnapshotModify(String bizRecId, Integer entityType, Long staffId);
}
